using System;
using System.Collections.Generic;

using PMServiceDesk.DataType;
using PMServiceDesk.DataAccess;

namespace PMServiceDesk.BusinessLogic
{
    public class PruebaLogic
    {
        #region Variables

        private PruebaData _pruebaData;

        #endregion

        #region Constructores

        public PruebaLogic()
        {
            _pruebaData = new PruebaData();
        }

        #endregion

        #region Metodos

        public PruebaType CargarPorId(string id)
        {
            _pruebaData.FiltrarPorId(id);

            return _pruebaData.Cargar();
        }

        public void Grabar(PruebaType prueba)
        {
            _pruebaData.Grabar(prueba);
        }

        public void Eliminar(string id)
        {
            _pruebaData.Eliminar(id);
        }

        public List<PruebaType> CargarExplorador(string nombre,string descipcion)
        {
            if(nombre != "") _pruebaData.FiltrarPorNombre(nombre);
            if(descipcion != "") _pruebaData.FiltrarPorDescipcion(descipcion);

            return _pruebaData.CargarListaVista();
        }

        public List<PruebaType> CargarExploradorPaginado(PruebaType registroBusqueda, int paginaActual = 0, int cantidadMostrar = 0, string orderBy = "")
        {
            if(registroBusqueda.Nombre != "") _pruebaData.FiltrarPorNombre(registroBusqueda.Nombre);
            if(registroBusqueda.Descipcion != "") _pruebaData.FiltrarPorDescipcion(registroBusqueda.Descipcion);

            return _pruebaData.CargarListaVista(paginaActual, cantidadMostrar, orderBy);
        }
        #endregion
    }
}
